package com.yyw.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.yyw.bean.Group;
import com.yyw.bean.User;

@Mapper
public interface GroupDao {

    /**
     * 修改小组
     *
     * @param group
     * @return
     */
    int updateGroup(Group group);

    /**
     * 根据班级id获取小组
     *
     * @param classid
     * @return
     */
    List<Group> getGroupsByClassId(@Param("classid") Long classid);

    /**
     * 根据用户id或班级id获取小组信息
     *
     * @return
     */
    List<Group> getGroupsByUserId(@Param("userid") Long userid, @Param("classid") Long classid);

    /**
     * 根据小组id获取用户信息
     *
     * @param groupid
     * @return
     */
    List<User> getUsersByGroupId(@Param("groupid") Long groupid);

    /**
     * 根据小组id获取小组详细信息
     *
     * @param id
     * @return
     */
    Group getGroupById(@Param("id") Long id);

    /**
     * 添加小组
     *
     * @param group
     * @return
     */
    int saveGroup(Group group);

    /**
     * 加入小组
     *
     * @param userid
     * @param groupid
     * @return
     */
    int intoGroup(@Param("userid") Long userid, @Param("groupid") Long groupid);

    /**
     * 退出小组
     *
     * @param userid
     * @param groupid
     * @return
     */
    int exitGroup(@Param("userid") Long userid, @Param("groupid") Long groupid);

}
